<?php
/**
  * 公共模型
  */
class CommonModel extends Model {

	/**
    * 获取当前用户ID
    * @access public
    * @return int
    */
    public function getUserId() {
        return isset($_SESSION[C('USER_AUTH_KEY')])?$_SESSION[C('USER_AUTH_KEY')]:0;
    }

   /**
     * 根据条件禁用表数据
     * @access public
     * @param array $options 条件
     * @param string $field 操作字段：默认status
     * @return boolen
     */
    public function forbid($options,$field='status'){

        if(FALSE === $this->where($options)->setField($field,0)){
            return FALSE;
        }else {
            return TRUE;
        }
    }


    /**
      * 根据条件恢复表数据
      * @access public
      * @param array $options 条件
      * @param string $field 操作字段：默认status     
      * @return boolen
      */
    public function resume($options,$field='status'){
        if(FALSE === $this->where($options)->setField($field,1)){
            return FALSE;
        }else {
            return TRUE;
        }
    }

    /**
      * 根据条件处理表数据
      * @access public
      * @param array $options 条件
      * @param string $field 操作字段：默认status  
      * @param string $value 修改值   
      * @return boolen
      */
    public function changeFieldValue($options,$field='status',$value){
        if(FALSE === $this->where($options)->setField($field,$value)){
            return FALSE;
        }else {
            return TRUE;
        }
    }    


	/**
    * 生成缓存文件
    * @access public      
	  * @param data 缓存数据
	  * @param fileName 缓存文件名
    */
	public function makeCacheFile($data,$fileName)
	{
		F('cache_'.$fileName,$data,C('MY_CACHE'));
	}

	/**
    * 读取缓存文件
    * @access public       
	  * @param fileName 缓存文件名
    * @return array    
    */
	public function getCacheFile($fileName)
	{
		if(file_exists(C('MY_CACHE').'cache_'.$fileName.'.php'))
		{
		  return F('cache_'.$fileName,'',C('MY_CACHE'));
		}else{return array();}
	}


  /**
    * 自动完成回调函数：作者  
    */
  protected function callbackAuthor()
  {
    return $_SESSION['username'];
  }  

  /**
    * 自动完成回调函数：Y-m-d时间
    */
  protected function callbackTime()
  {
    return date('Y-m-d',time());
  }

  /**
    * 自动完成回调函数：seo描述
    */
  protected function callbackDescription()
  {
    if($_POST['seo_description'])
    {
      $temp=$_POST['seo_description'];
    }else
      {
      if($_POST['brief'])
      {
        $temp=$_POST['brief'];
      }else
        {
          $temp=msubstr(str_replace("&nbsp;",'',strip_tags($_POST['content'])),0,150);
        }
      }
    return $temp;
  }

  /**
    * 自动完成回调函数：seo描述和brief
    */
  protected function callbackBrief()
  {
    if($_POST['brief'])
    {
      $temp=$_POST['brief'];
    }else
      {
        $temp=msubstr(trim(str_replace(" ",'',strip_tags($_POST['content']))),0,200);
      }
    return $temp;
  }

  /**
    * 自动完成回调函数：状态
    */
  protected function callbackStatus()
  {
    if(isset($_POST['status']))
    {
      return 1;
    }else{return 0;}
  }

  /**
    * 自动验证回调函数：栏目
    */
  protected function callbackCategory()
  {
    if(isset($_POST['category_id'])&&$_POST['category_id']>0)
      {
        return true;
      }else{return false;}    
  }  

}
?>